package com.jeesite.modules.exam.notice.entity;

import javax.validation.constraints.Size;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

/**
 * 考核任务通知表Entity
 * @author xhc
 * @version 2022-05-28
 */
@Table(name="dc_sup_exam_notice", alias="a", label="考核任务通知表信息", columns={
		@Column(name="id", attrName="id", label="主键", isPK=true),
		@Column(name="exam_id", attrName="examId", label="考核任务id", isQuery=false),
		@Column(name="exam_year", attrName="examYear", label="考核年度"),
		@Column(name="notice_title", attrName="noticeTitle", label="通知标题", queryType=QueryType.LIKE),
		@Column(name="notice_content", attrName="noticeContent", label="通知内容"),
		@Column(name="notice_end_time", attrName="noticeEndTime", label="报送时限", comment="报送时限（精确到天）", isQuery=false, isUpdateForce=true),
		@Column(name="notice_type", attrName="noticeType", label="通知类型", comment="通知类型（1关键指标报送通知、2单项指标报送通知、3自评通知、4评分通知）",isQuery=true),
		@Column(name="create_by", attrName="createBy", label="创建人", isUpdate=false, isQuery=false),
		@Column(name="create_date", attrName="createDate", label="创建时间", isUpdate=false, isQuery=false, isUpdateForce=true),
		@Column(name="update_by", attrName="updateBy", label="更新人", isQuery=false),
		@Column(name="update_date", attrName="updateDate", label="更新时间", isQuery=false, isUpdateForce=true),
		@Column(name="remarks", attrName="remarks", label="备注", isQuery=false),
	}, orderBy="a.update_date DESC"
)
public class DcSupExamNotice extends DataEntity<DcSupExamNotice> {
	
	private static final long serialVersionUID = 1L;
	 /**
	 * 考核任务id
	 */
	private String examId;

	public String getExamTitle() {
		return examTitle;
	}

	public void setExamTitle(String examTitle) {
		this.examTitle = examTitle;
	}

	private String examTitle;
	 /**
	 * 考核年度
	 */
	private String examYear;
	 /**
	 * 通知标题
	 */
	private String noticeTitle;
	 /**
	 * 通知内容
	 */
	private String noticeContent;
	 /**
	 * 报送时限（精确到天）
	 */
	private Date noticeEndTime;
	 /**
	 * 通知类型（1关键指标报送通知、2单项指标报送通知、3自评通知、4评分通知）
	 */
	private String noticeType;

	private String fileId;

	private String fileName;

	private String  noticeStatus;

	private String  noticeOrgId;

	private String quotaId;

	private String operationStatus;

	private String isVersion;

	private String versionId;
	private String noticeFollow;

	public String getNoticeFollow() {
		return noticeFollow;
	}

	public void setNoticeFollow(String noticeFollow) {
		this.noticeFollow = noticeFollow;
	}

	public String getVersionId() {
		return versionId;
	}

	public void setVersionId(String versionId) {
		this.versionId = versionId;
	}

	public String getIsVersion() {
		return isVersion;
	}

	public void setIsVersion(String isVersion) {
		this.isVersion = isVersion;
	}

	public String getOperationStatus() {
		return operationStatus;
	}

	public void setOperationStatus(String operationStatus) {
		this.operationStatus = operationStatus;
	}

	public String getQuotaId() {
		return quotaId;
	}

	public void setQuotaId(String quotaId) {
		this.quotaId = quotaId;
	}

	public String getNoticeOrgId() {
		return noticeOrgId;
	}

	public void setNoticeOrgId(String noticeOrgId) {
		this.noticeOrgId = noticeOrgId;
	}

	public String getNoticeStatus() {
		return noticeStatus;
	}

	public void setNoticeStatus(String noticeStatus) {
		this.noticeStatus = noticeStatus;
	}

	public String getFileId() {
		return fileId;
	}

	public void setFileId(String fileId) {
		this.fileId = fileId;
	}

	public String getFileName() {
		return fileName;
	}

	public void setFileName(String fileName) {
		this.fileName = fileName;
	}

	public String getNoticeOrgs() {
		return noticeOrgs;
	}

	public void setNoticeOrgs(String noticeOrgs) {
		this.noticeOrgs = noticeOrgs;
	}

	public String getNoticeOrgNames() {
		return noticeOrgNames;
	}

	public void setNoticeOrgNames(String noticeOrgNames) {
		this.noticeOrgNames = noticeOrgNames;
	}

	private String noticeOrgs;

	private String noticeOrgNames;

	private String otherOrgs;

	private String otherOrgNames;

	public String getOtherOrgs() {
		return otherOrgs;
	}

	public void setOtherOrgs(String otherOrgs) {
		this.otherOrgs = otherOrgs;
	}

	public String getOtherOrgNames() {
		return otherOrgNames;
	}

	public void setOtherOrgNames(String otherOrgNames) {
		this.otherOrgNames = otherOrgNames;
	}

	public DcSupExamNotice() {
		this(null);
	}

	public DcSupExamNotice(String id){
		super(id);
	}
	
	@Size(min=0, max=64, message="考核任务id长度不能超过 64 个字符")
	public String getExamId() {
		return examId;
	}

	public void setExamId(String examId) {
		this.examId = examId;
	}
	
	@Size(min=0, max=4, message="考核年度长度不能超过 4 个字符")
	public String getExamYear() {
		return examYear;
	}

	public void setExamYear(String examYear) {
		this.examYear = examYear;
	}
	
	public String getNoticeTitle() {
		return noticeTitle;
	}

	public void setNoticeTitle(String noticeTitle) {
		this.noticeTitle = noticeTitle;
	}
	
	public String getNoticeContent() {
		return noticeContent;
	}

	public void setNoticeContent(String noticeContent) {
		this.noticeContent = noticeContent;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getNoticeEndTime() {
		return noticeEndTime;
	}

	public void setNoticeEndTime(Date noticeEndTime) {
		this.noticeEndTime = noticeEndTime;
	}
	
	@Size(min=0, max=10, message="通知类型长度不能超过 10 个字符")
	public String getNoticeType() {
		return noticeType;
	}

	public void setNoticeType(String noticeType) {
		this.noticeType = noticeType;
	}
	
}